<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    // 输入：func = () => checkIfInstance(new Date(), Date)
    // 输出：true
    // 解释：根据定义，Date 构造函数返回的对象是 Date 的一个实例。

    // 用 instanceof 直接判断 
    checkIfInstance(new Date(), Date);

    function checkIfInstance(obj, classFunction) {
      if (typeof classFunction !== "Function") return false;
      if (
        obj instanceof classFunction ||
        obj?.__proto__ == classFunction.prototype ||
        obj?.__proto__ instanceof classFunction
      ) {
        return true;
      }
      return false;
    }
  </script>
</html>
